pixled-lib
1.0
|
Namespaces | |
animation | |
arithmetic | |
chroma | |
chrono | |
conditional | |
detail | |
geometry | |
mapping | |
random | |
signal | |
Classes | |
class | color |
struct | is_pixled_function |
class | Constant |
class | FctWrapper |
class | Function |
struct | point |
class | angle |
struct | line |
struct | point_hash |
struct | point_equal |
class | box |
class | bounding_box |
class | spiral |
struct | led |
struct | led_equal |
struct | Mapping |
class | Output |
class | Runtime |
Typedefs | |
typedef float | coordinate |
typedef std::size_t | index_t |
typedef std::minstd_rand | random_engine |
typedef base::Function< color > | Animation |
typedef unsigned long | time |
Functions | |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
arithmetic::Plus< typename std::common_type< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type::Type >::type, typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type::Type > | operator+ (Arg1 &&f1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< !is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
arithmetic::Plus< typename std::common_type< typename std::remove_reference< Arg1 >::type, typename std::remove_reference< Arg2 >::type::Type >::type, typename std::remove_reference< Arg1 >::type, typename std::remove_reference< Arg2 >::type::Type > | operator+ (Arg1 &&c1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&!is_pixled_function< Arg2 >::value, bool >::type = true> | |
arithmetic::Plus< typename std::common_type< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type >::type, typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type > | operator+ (Arg1 &&f1, Arg2 &&c2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
arithmetic::Minus< typename std::common_type< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type::Type >::type, typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type::Type > | operator- (Arg1 &&f1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< !is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
arithmetic::Minus< typename std::common_type< typename std::remove_reference< Arg1 >::type, typename std::remove_reference< Arg2 >::type::Type >::type, typename std::remove_reference< Arg1 >::type, typename std::remove_reference< Arg2 >::type::Type > | operator- (Arg1 &&c1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&!is_pixled_function< Arg2 >::value, bool >::type = true> | |
arithmetic::Minus< typename std::common_type< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type >::type, typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type > | operator- (Arg1 &&f1, Arg2 &&c2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
arithmetic::Multiplies< typename std::common_type< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type::Type >::type, typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type::Type > | operator* (Arg1 &&f1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< !is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
arithmetic::Multiplies< typename std::common_type< typename std::remove_reference< Arg1 >::type, typename std::remove_reference< Arg2 >::type::Type >::type, typename std::remove_reference< Arg1 >::type, typename std::remove_reference< Arg2 >::type::Type > | operator* (Arg1 &&c1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&!is_pixled_function< Arg2 >::value, bool >::type = true> | |
arithmetic::Multiplies< typename std::common_type< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type >::type, typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type > | operator* (Arg1 &&f1, Arg2 &&c2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
arithmetic::Divides< typename std::common_type< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type::Type >::type, typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type::Type > | operator/ (Arg1 &&f1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< !is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
arithmetic::Divides< typename std::common_type< typename std::remove_reference< Arg1 >::type, typename std::remove_reference< Arg2 >::type::Type >::type, typename std::remove_reference< Arg1 >::type, typename std::remove_reference< Arg2 >::type::Type > | operator/ (Arg1 &&c1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&!is_pixled_function< Arg2 >::value, bool >::type = true> | |
arithmetic::Divides< typename std::common_type< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type >::type, typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type > | operator/ (Arg1 &&f1, Arg2 &&c2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
arithmetic::Modulus< typename std::common_type< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type::Type >::type, typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type::Type > | operator% (Arg1 &&f1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< !is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
arithmetic::Modulus< typename std::common_type< typename std::remove_reference< Arg1 >::type, typename std::remove_reference< Arg2 >::type::Type >::type, typename std::remove_reference< Arg1 >::type, typename std::remove_reference< Arg2 >::type::Type > | operator% (Arg1 &&c1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&!is_pixled_function< Arg2 >::value, bool >::type = true> | |
arithmetic::Modulus< typename std::common_type< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type >::type, typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type > | operator% (Arg1 &&f1, Arg2 &&c2) |
bool | operator== (const color &c1, const color &c2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
conditional::Equal< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type::Type > | operator== (Arg1 &&f1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&!is_pixled_function< Arg2 >::value, bool >::type = true> | |
conditional::Equal< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type > | operator== (Arg1 &&f1, Arg2 &&c2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< !is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
conditional::Equal< typename std::remove_reference< Arg1 >::type, typename std::remove_reference< Arg2 >::type::Type > | operator== (Arg1 &&c1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
conditional::NotEqual< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type::Type > | operator!= (Arg1 &&f1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&!is_pixled_function< Arg2 >::value, bool >::type = true> | |
conditional::NotEqual< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type > | operator!= (Arg1 &&f1, Arg2 &&c2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< !is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
conditional::NotEqual< typename std::remove_reference< Arg1 >::type, typename std::remove_reference< Arg2 >::type::Type > | operator!= (Arg1 &&c1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
conditional::LessThan< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type::Type > | operator< (Arg1 &&f1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&!is_pixled_function< Arg2 >::value, bool >::type = true> | |
conditional::LessThan< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type > | operator< (Arg1 &&f1, Arg2 &&c2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< !is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
conditional::LessThan< typename std::remove_reference< Arg1 >::type, typename std::remove_reference< Arg2 >::type::Type > | operator< (Arg1 &&c1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
conditional::LessThanOrEqual< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type::Type > | operator<= (Arg1 &&f1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&!is_pixled_function< Arg2 >::value, bool >::type = true> | |
conditional::LessThanOrEqual< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type > | operator<= (Arg1 &&f1, Arg2 &&c2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< !is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
conditional::LessThanOrEqual< typename std::remove_reference< Arg1 >::type, typename std::remove_reference< Arg2 >::type::Type > | operator<= (Arg1 &&c1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
conditional::GreaterThan< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type::Type > | operator> (Arg1 &&f1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&!is_pixled_function< Arg2 >::value, bool >::type = true> | |
conditional::GreaterThan< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type > | operator> (Arg1 &&f1, Arg2 &&c2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< !is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
conditional::GreaterThan< typename std::remove_reference< Arg1 >::type, typename std::remove_reference< Arg2 >::type::Type > | operator> (Arg1 &&c1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
conditional::GreaterThanOrEqual< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type::Type > | operator>= (Arg1 &&f1, Arg2 &&f2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< is_pixled_function< Arg1 >::value &&!is_pixled_function< Arg2 >::value, bool >::type = true> | |
conditional::GreaterThanOrEqual< typename std::remove_reference< Arg1 >::type::Type, typename std::remove_reference< Arg2 >::type > | operator>= (Arg1 &&f1, Arg2 &&c2) |
template<typename Arg1 , typename Arg2 , typename std::enable_if< !is_pixled_function< Arg1 >::value &&is_pixled_function< Arg2 >::value, bool >::type = true> | |
conditional::GreaterThanOrEqual< typename std::remove_reference< Arg1 >::type, typename std::remove_reference< Arg2 >::type::Type > | operator>= (Arg1 &&c1, Arg2 &&f2) |
template<typename To , typename From > | |
detail::Cast< To, typename std::remove_reference< From >::type::Type > | Cast (From &&from) |
float | distance (const point &p1, const point &p2) |
angle | operator+ (const angle &a, const angle &b) |
angle | operator- (const angle &a, const angle &b) |
bool | operator== (const point &c1, const point &c2) |
std::ostream & | operator<< (std::ostream &o, const point &p) |
float | cos (const angle &a) |
float | sin (const angle &a) |
float | tan (const angle &a) |
bool | operator== (const led &l1, const led &l2) |
Variables | |
static const float | PI = 3.14159265358979323846f |
Main pixled namespace.
typedef float pixled::coordinate |
Type used to define point coordinates.
typedef std::size_t pixled::index_t |
Type used to index leds on a led strip.
typedef std::minstd_rand pixled::random_engine |
Random engine pixled fundamental type.
typedef base::Function<color> pixled::Animation |
Pixled Animation definition.
An animation is simply defined as a base::Function that returns a color according to the current time and led.
typedef unsigned long pixled::time |
Type used to represent the current frame.
arithmetic::Plus< typename std::common_type< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type::Type >::type, typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type::Type > pixled::operator+ | ( | Arg1 && | f1, |
Arg2 && | f2 | ||
) |
+ operator definition, where Arg1
and Arg2
are Functions.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg1 and Arg2 are pixled functions. |
f1 | left operand: lvalue or rvalue to a Function |
f2 | right operand: lvalue or rvalue to a Function |
Arg1::Type
and Arg2::Type
. arithmetic::Plus< typename std::common_type< typename std::remove_reference<Arg1>::type, typename std::remove_reference<Arg2>::type::Type >::type, typename std::remove_reference<Arg1>::type, typename std::remove_reference<Arg2>::type::Type> pixled::operator+ | ( | Arg1 && | c1, |
Arg2 && | f2 | ||
) |
+ operator definition, where Arg1
is an arithmetic constant and Arg2
is a Function.
Arg1 | automatically deduced left operand fundamental type |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg2 is a pixled function and Arg1 is not |
c1 | left operand: arithmetic constant |
f2 | right operand: lvalue or rvalue to a Function |
Arg1
and Arg2::Type
. arithmetic::Plus< typename std::common_type< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type >::type, typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type> pixled::operator+ | ( | Arg1 && | f1, |
Arg2 && | c2 | ||
) |
+ operator definition, where Arg1
is a Function and Arg2
is an arithmetic constant.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand fundamental type |
Enable | SFINAE condition: this overload is considered only if Arg1 is a pixled function and Arg2 is not |
f1 | left operand: arithmetic constant |
c2 | right operand: lvalue or rvalue to a Function |
Arg1
and Arg2::Type
. arithmetic::Minus< typename std::common_type< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type::Type >::type, typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type::Type > pixled::operator- | ( | Arg1 && | f1, |
Arg2 && | f2 | ||
) |
- operator definition, where Arg1
and Arg2
are Functions.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg1 and Arg2 are pixled functions. |
f1 | left operand: lvalue or rvalue to a Function |
f2 | right operand: lvalue or rvalue to a Function |
Arg1::Type
and Arg2::Type
. arithmetic::Minus< typename std::common_type< typename std::remove_reference<Arg1>::type, typename std::remove_reference<Arg2>::type::Type >::type, typename std::remove_reference<Arg1>::type, typename std::remove_reference<Arg2>::type::Type> pixled::operator- | ( | Arg1 && | c1, |
Arg2 && | f2 | ||
) |
- operator definition, where Arg1
is an arithmetic constant and Arg2
is a Function.
Arg1 | automatically deduced left operand fundamental type |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg2 is a pixled function and Arg1 is not |
c1 | left operand: arithmetic constant |
f2 | right operand: lvalue or rvalue to a Function |
Arg1
and Arg2::Type
. arithmetic::Minus< typename std::common_type< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type >::type, typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type> pixled::operator- | ( | Arg1 && | f1, |
Arg2 && | c2 | ||
) |
- operator definition, where Arg1
is a Function and Arg2
is an arithmetic constant.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand fundamental type |
Enable | SFINAE condition: this overload is considered only if Arg1 is a pixled function and Arg2 is not |
f1 | left operand: arithmetic constant |
c2 | right operand: lvalue or rvalue to a Function |
Arg1
and Arg2::Type
. arithmetic::Multiplies< typename std::common_type< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type::Type >::type, typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type::Type > pixled::operator* | ( | Arg1 && | f1, |
Arg2 && | f2 | ||
) |
Arg1
and Arg2
are Functions.Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg1 and Arg2 are pixled functions. |
f1 | left operand: lvalue or rvalue to a Function |
f2 | right operand: lvalue or rvalue to a Function |
Arg1::Type
and Arg2::Type
. arithmetic::Multiplies< typename std::common_type< typename std::remove_reference<Arg1>::type, typename std::remove_reference<Arg2>::type::Type >::type, typename std::remove_reference<Arg1>::type, typename std::remove_reference<Arg2>::type::Type > pixled::operator* | ( | Arg1 && | c1, |
Arg2 && | f2 | ||
) |
Arg1
is an arithmetic constant and Arg2
is a Function.Arg1 | automatically deduced left operand fundamental type |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg2 is a pixled function and Arg1 is not |
c1 | left operand: arithmetic constant |
f2 | right operand: lvalue or rvalue to a Function |
Arg1
and Arg2::Type
. arithmetic::Multiplies< typename std::common_type< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type >::type, typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type> pixled::operator* | ( | Arg1 && | f1, |
Arg2 && | c2 | ||
) |
Arg1
is a Function and Arg2
is an arithmetic constant.Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand fundamental type |
Enable | SFINAE condition: this overload is considered only if Arg1 is a pixled function and Arg2 is not |
f1 | left operand: arithmetic constant |
c2 | right operand: lvalue or rvalue to a Function |
Arg1
and Arg2::Type
. arithmetic::Divides< typename std::common_type< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type::Type >::type, typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type::Type > pixled::operator/ | ( | Arg1 && | f1, |
Arg2 && | f2 | ||
) |
/ operator definition, where Arg1
and Arg2
are Functions.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg1 and Arg2 are pixled functions. |
f1 | left operand: lvalue or rvalue to a Function |
f2 | right operand: lvalue or rvalue to a Function |
Arg1::Type
and Arg2::Type
. arithmetic::Divides< typename std::common_type< typename std::remove_reference<Arg1>::type, typename std::remove_reference<Arg2>::type::Type >::type, typename std::remove_reference<Arg1>::type, typename std::remove_reference<Arg2>::type::Type > pixled::operator/ | ( | Arg1 && | c1, |
Arg2 && | f2 | ||
) |
/ operator definition, where Arg1
is an arithmetic constant and Arg2
is a Function.
Arg1 | automatically deduced left operand fundamental type |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg2 is a pixled function and Arg1 is not |
c1 | left operand: arithmetic constant |
f2 | right operand: lvalue or rvalue to a Function |
Arg1
and Arg2::Type
. arithmetic::Divides< typename std::common_type< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type >::type, typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type > pixled::operator/ | ( | Arg1 && | f1, |
Arg2 && | c2 | ||
) |
/ operator definition, where Arg1
is a Function and Arg2
is an arithmetic constant.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand fundamental type |
Enable | SFINAE condition: this overload is considered only if Arg1 is a pixled function and Arg2 is not |
f1 | left operand: arithmetic constant |
c2 | right operand: lvalue or rvalue to a Function |
Arg1
and Arg2::Type
. arithmetic::Modulus< typename std::common_type< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type::Type >::type, typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type::Type > pixled::operator% | ( | Arg1 && | f1, |
Arg2 && | f2 | ||
) |
% operator definition (modulus), where Arg1
and Arg2
are Functions returning integer types.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg1 and Arg2 are pixled functions. |
f1 | left operand: lvalue or rvalue to a Function |
f2 | right operand: lvalue or rvalue to a Function |
Arg1::Type
and Arg2::Type
. arithmetic::Modulus< typename std::common_type< typename std::remove_reference<Arg1>::type, typename std::remove_reference<Arg2>::type::Type >::type, typename std::remove_reference<Arg1>::type, typename std::remove_reference<Arg2>::type::Type > pixled::operator% | ( | Arg1 && | c1, |
Arg2 && | f2 | ||
) |
% operator definition, where Arg1
is an integer constant and Arg2
is a Function.
Arg1 | automatically deduced left operand fundamental type |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg2 is a pixled function and Arg1 is not |
c1 | left operand: integer constant |
f2 | right operand: lvalue or rvalue to a Function |
Arg1
and Arg2::Type
. arithmetic::Modulus< typename std::common_type< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type >::type, typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type > pixled::operator% | ( | Arg1 && | f1, |
Arg2 && | c2 | ||
) |
% operator definition, where Arg1
is a Function and Arg2
is an integer constant.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand fundamental type |
Enable | SFINAE condition: this overload is considered only if Arg1 is a pixled function and Arg2 is not |
f1 | left operand: arithmetic constant |
c2 | right operand: lvalue or rvalue to a Function |
Arg1
and Arg2::Type
. Checks if the two colors are equal, i.e. if their red / green / blue components are equal.
c1
== c2
conditional::Equal< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type::Type > pixled::operator== | ( | Arg1 && | f1, |
Arg2 && | f2 | ||
) |
== operator definition, where Arg1
and Arg2
are Functions.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg1 and Arg2 are pixled functions. |
f1 | left operand: lvalue or rvalue to a Function |
f2 | right operand: lvalue or rvalue to a Function |
conditional::Equal< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type > pixled::operator== | ( | Arg1 && | f1, |
Arg2 && | c2 | ||
) |
== operator definition, where Arg1
is a Function and Arg2
is a constant.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand fundamental type |
Enable | SFINAE condition: this overload is considered only if Arg1 is a pixled function and Arg2 is not |
f1 | left operand: arithmetic constant |
c2 | right operand: lvalue or rvalue to a Function |
conditional::Equal< typename std::remove_reference<Arg1>::type, typename std::remove_reference<Arg2>::type::Type > pixled::operator== | ( | Arg1 && | c1, |
Arg2 && | f2 | ||
) |
== operator definition, where Arg1
is a constant and Arg2
is a Function.
Arg1 | automatically deduced left operand fundamental type |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg2 is a pixled function and Arg1 is not |
c1 | left operand: integer constant |
f2 | right operand: lvalue or rvalue to a Function |
conditional::NotEqual< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type::Type > pixled::operator!= | ( | Arg1 && | f1, |
Arg2 && | f2 | ||
) |
!= operator definition, where Arg1
and Arg2
are Functions.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg1 and Arg2 are pixled functions. |
f1 | left operand: lvalue or rvalue to a Function |
f2 | right operand: lvalue or rvalue to a Function |
conditional::NotEqual< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type > pixled::operator!= | ( | Arg1 && | f1, |
Arg2 && | c2 | ||
) |
!= operator definition, where Arg1
is a Function and Arg2
is a constant.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand fundamental type |
Enable | SFINAE condition: this overload is considered only if Arg1 is a pixled function and Arg2 is not |
f1 | left operand: arithmetic constant |
c2 | right operand: lvalue or rvalue to a Function |
conditional::NotEqual< typename std::remove_reference<Arg1>::type, typename std::remove_reference<Arg2>::type::Type > pixled::operator!= | ( | Arg1 && | c1, |
Arg2 && | f2 | ||
) |
!= operator definition, where Arg1
is a constant and Arg2
is a Function.
Arg1 | automatically deduced left operand fundamental type |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg2 is a pixled function and Arg1 is not |
c1 | left operand: integer constant |
f2 | right operand: lvalue or rvalue to a Function |
conditional::LessThan< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type::Type > pixled::operator< | ( | Arg1 && | f1, |
Arg2 && | f2 | ||
) |
< operator definition, where Arg1
and Arg2
are Functions.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg1 and Arg2 are pixled functions. |
f1 | left operand: lvalue or rvalue to a Function |
f2 | right operand: lvalue or rvalue to a Function |
conditional::LessThan< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type > pixled::operator< | ( | Arg1 && | f1, |
Arg2 && | c2 | ||
) |
< operator definition, where Arg1
is a Function and Arg2
is a constant.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand fundamental type |
Enable | SFINAE condition: this overload is considered only if Arg1 is a pixled function and Arg2 is not |
f1 | left operand: arithmetic constant |
c2 | right operand: lvalue or rvalue to a Function |
conditional::LessThan< typename std::remove_reference<Arg1>::type, typename std::remove_reference<Arg2>::type::Type > pixled::operator< | ( | Arg1 && | c1, |
Arg2 && | f2 | ||
) |
< operator definition, where Arg1
is a constant and Arg2
is a Function.
Arg1 | automatically deduced left operand fundamental type |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg2 is a pixled function and Arg1 is not |
c1 | left operand: integer constant |
f2 | right operand: lvalue or rvalue to a Function |
conditional::LessThanOrEqual< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type::Type > pixled::operator<= | ( | Arg1 && | f1, |
Arg2 && | f2 | ||
) |
<= operator definition, where Arg1
and Arg2
are Functions.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg1 and Arg2 are pixled functions. |
f1 | left operand: lvalue or rvalue to a Function |
f2 | right operand: lvalue or rvalue to a Function |
conditional::LessThanOrEqual< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type > pixled::operator<= | ( | Arg1 && | f1, |
Arg2 && | c2 | ||
) |
<= operator definition, where Arg1
is a Function and Arg2
is a constant.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand fundamental type |
Enable | SFINAE condition: this overload is considered only if Arg1 is a pixled function and Arg2 is not |
f1 | left operand: arithmetic constant |
c2 | right operand: lvalue or rvalue to a Function |
conditional::LessThanOrEqual< typename std::remove_reference<Arg1>::type, typename std::remove_reference<Arg2>::type::Type > pixled::operator<= | ( | Arg1 && | c1, |
Arg2 && | f2 | ||
) |
<= operator definition, where Arg1
is a constant and Arg2
is a Function.
Arg1 | automatically deduced left operand fundamental type |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg2 is a pixled function and Arg1 is not |
c1 | left operand: integer constant |
f2 | right operand: lvalue or rvalue to a Function |
conditional::GreaterThan< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type::Type > pixled::operator> | ( | Arg1 && | f1, |
Arg2 && | f2 | ||
) |
operator definition, where
Arg1
andArg2
are Functions.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg1 and Arg2 are pixled functions. |
f1 | left operand: lvalue or rvalue to a Function |
f2 | right operand: lvalue or rvalue to a Function |
conditional::GreaterThan< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type > pixled::operator> | ( | Arg1 && | f1, |
Arg2 && | c2 | ||
) |
operator definition, where
Arg1
is a Function andArg2
is
a constant.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand fundamental type |
Enable | SFINAE condition: this overload is considered only if Arg1 is a pixled function and Arg2 is not |
f1 | left operand: arithmetic constant |
c2 | right operand: lvalue or rvalue to a Function |
conditional::GreaterThan< typename std::remove_reference<Arg1>::type, typename std::remove_reference<Arg2>::type::Type > pixled::operator> | ( | Arg1 && | c1, |
Arg2 && | f2 | ||
) |
operator definition, where
Arg1
is a constant andArg2
is a
Arg1 | automatically deduced left operand fundamental type |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg2 is a pixled function and Arg1 is not |
c1 | left operand: integer constant |
f2 | right operand: lvalue or rvalue to a Function |
conditional::GreaterThanOrEqual< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type::Type > pixled::operator>= | ( | Arg1 && | f1, |
Arg2 && | f2 | ||
) |
>= operator definition, where Arg1
and Arg2
are Functions.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg1 and Arg2 are pixled functions. |
f1 | left operand: lvalue or rvalue to a Function |
f2 | right operand: lvalue or rvalue to a Function |
conditional::GreaterThanOrEqual< typename std::remove_reference<Arg1>::type::Type, typename std::remove_reference<Arg2>::type > pixled::operator>= | ( | Arg1 && | f1, |
Arg2 && | c2 | ||
) |
>= operator definition, where Arg1
is a Function and Arg2
is a constant.
Arg1 | automatically deduced left operand type (Function) |
Arg2 | automatically deduced right operand fundamental type |
Enable | SFINAE condition: this overload is considered only if Arg1 is a pixled function and Arg2 is not |
f1 | left operand: arithmetic constant |
c2 | right operand: lvalue or rvalue to a Function |
conditional::GreaterThanOrEqual< typename std::remove_reference<Arg1>::type, typename std::remove_reference<Arg2>::type::Type > pixled::operator>= | ( | Arg1 && | c1, |
Arg2 && | f2 | ||
) |
>= operator definition, where Arg1
is a constant and Arg2
is a Function.
Arg1 | automatically deduced left operand fundamental type |
Arg2 | automatically deduced right operand type (Function) |
Enable | SFINAE condition: this overload is considered only if Arg2 is a pixled function and Arg1 is not |
c1 | left operand: integer constant |
f2 | right operand: lvalue or rvalue to a Function |
detail::Cast<To, typename std::remove_reference<From>::type::Type> pixled::Cast | ( | From && | from | ) |
Cast function, that allows to convert a function with return type From
to a function with return type To
.
Only the To
template parameter must be provided: From
can be automatically deduced.
To | return type of the converted function (fundamental type) |
From | automatically deducible return type of the input function (fundamental type) |
from | base::Function<From> |
Returns the euclidian distance between the two points.
p1 | point 1 |
p2 | point 2 |
Sums a
to b
.
a+b
Substracts b
from a
.
a-b
Checks if the two points are equal, i.e. if their x/y coordinates are equal.
p1
== p2
std::ostream & pixled::operator<< | ( | std::ostream & | o, |
const point & | p | ||
) |
Point output stream operator.
float pixled::cos | ( | const angle & | a | ) |
Computes the cosine of a
.
a | angle |
float pixled::sin | ( | const angle & | a | ) |
Computes the sine of a
.
a | angle |
float pixled::tan | ( | const angle & | a | ) |
Computes the tangent of a
.
a | angle |
Checks if the two leds are equal, i.e. if their location and index are equal.
l1
== l2
|
static |
Predefined PI constant.