56#ifndef LIB_TIME_DIGXEL_H
57#define LIB_TIME_DIGXEL_H
63#include <boost/lexical_cast.hpp>
78 using boost::lexical_cast;
88 template<
typename NUM,
size_t len>
119 REQUIRE (space <
bufsiz,
"Digxel value exceeded available buffer size. "
120 "For showing %s, %zu+1 chars instead of just %zu+1 would be required."
121 ,
cStr(lexical_cast<string>(val)), space, len);
133 template<
typename NUM>
191 using std::placeholders::_1;
213 template<
typename NUM
214 ,
class FMT = digxel::Formatter<NUM>
239 template<
typename FUN,
class THIS>
243 mutator = bind (mutate, &self, _1 );
256 operator string()
const {
return show(); }
317 :
public Digxel<int,digxel::SignFormatter>
334 using _Par::operator=;
A number element for building structured numeric displays.
Digxel & operator+=(NUM inc)
auto operator<=>(Digxel const &o) const
_Mutator mutator
Functor for setting a new digxel value.
void setValueRaw(NUM newVal)
digxel::CBuf show() const
Digxel & operator-=(NUM dec)
function< void(NUM)> _Mutator
bool operator==(Digxel const &o) const
Digxel< NUM, FMT > _Digxel
void installMutator(FUN mutate, THIS &self)
install an external functor to be applied on any new digxel value.
special Digxel to show a sign.
friend int operator*=(Signum &s, int c)
Digxel< int, digxel::SignFormatter > _Par
Lumiera error handling (C++ interface).
Digxel< uint, digxel::HexaFormatter > HexaDigit
for displaying a hex byte
int64_t FrameCnt
relative framecount or frame number.
Implementation namespace for support and library code.
Marker types to indicate a literal string and a Symbol.
CStr cStr(std::string const &rendered)
convenience shortcut: forced conversion to c-String via string.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...