FX::Generic::MapBools< len > Struct Template Reference
[Generic Tools in TnFOX]

#include <FXGenericTools.h>

List of all members.


Detailed Description

template<int len>
struct FX::Generic::MapBools< len >

Mapper of C++ bools to a bitfield.

This generates customised code at compile-time mapping a series of bool's to an unsigned integer suitable for serialisation and deserialisation through a FX::FXStream. The correct integer (8, 16, 32 or 64 bit) is chosen automatically. To use simply do:

struct Foo { bool a,b,c; } foo;
FX::FXStream s;
FX::Generic::MapBools<3> boolmap(&foo.a);
s << boolmap;
s >> boolmap;

Public Types

typedef Generic::select<(len >
Generic::select<(len >
Generic::select<(len > 
FXulong
typedef Generic::select<(len >
Generic::select<(len >
Generic::select<(len > FXuint
FXushort FXuchar::value 
holdtype

Public Member Functions

 FXSTATIC_ASSERT2 (len<=sizeof(FXulong)*8, ERROR_Too_Many_Bools_To_Fit_Into_Integral_Type)
typedef Generic::select<(len > sizeof (FXuchar)*8)
typedef Generic::select<(len >
Generic::select<(len > 
sizeof (FXushort)*8)
typedef Generic::select<(len >
Generic::select<(len >
Generic::select<(len > 
sizeof (FXuint)*8)
 MapBools (const bool *_base) throw ()

Public Attributes

bool * base

Friends

FXStreamoperator<< (FXStream &s, const MapBools< len > i) throw ()
FXStreamoperator>> (FXStream &s, MapBools< len > i) throw ()

The documentation for this struct was generated from the following file:

(C) 2002-2008 Niall Douglas. Some parts (C) to assorted authors.
Generated on Fri Jun 13 22:30:14 2008 for TnFOX by doxygen v1.5.6