Calico
 All Classes Namespaces Files Functions Variables Typedefs Friends Groups
cal::lens_base< Lens, T > Struct Template Reference

CRTP base type for constructing Lens types. More...

#include <lens.hpp>

Public Types

typedef T value_type
 The value type of the lens.
 

Public Member Functions

Lens & operator%= (const value_type &x)
 Modulo assignment through the lens.
 
Lens & operator&= (const value_type &x)
 Bitwise AND assignment through the lens.
 
Lens & operator*= (const value_type &x)
 Multiplication assignment through the lens.
 
Lens & operator++ ()
 Pre-increments through the lens.
 
Lens & operator+= (const value_type &x)
 Addition assignment through the lens.
 
Lens & operator-- ()
 Pre-decrements through the lens.
 
Lens & operator-= (const value_type &x)
 Subtraction assignment through the lens.
 
Lens & operator/= (const value_type &x)
 Division assignment through the lens.
 
Lens & operator<<= (const value_type &x)
 Bitwise left shift assignment through the lens.
 
Lens & operator>>= (const value_type &x)
 Bitwise right shift assignment through the lens.
 
Lens & operator^= (const value_type &x)
 Bitwise XOR assignment through the lens.
 
Lens & operator|= (const value_type &x)
 Bitwise OR assignment through the lens.
 

Detailed Description

template<class Lens, class T>
struct cal::lens_base< Lens, T >

CRTP base type for constructing Lens types.

Template Parameters
LensThe Lens that is being derived.
TThe value type of the Lens.