liblcf
Loading...
Searching...
No Matches
lcf::Flags< S > Class Template Reference

#include <reader_struct.h>

+ Collaboration diagram for lcf::Flags< S >:

Static Public Member Functions

static const char * tag (int idx)
 
static int idx (const char *tag)
 
static void ReadLcf (S &obj, LcfReader &stream, uint32_t length)
 
static void WriteLcf (const S &obj, LcfWriter &stream)
 
static int LcfSize (const S &obj, LcfWriter &stream)
 
static void WriteXml (const S &obj, XmlWriter &stream)
 
static void BeginXml (S &obj, XmlReader &stream)
 

Static Private Attributes

static const char *const name
 
static constexpr size_t num_flags = std::tuple_size<decltype(S::flags)>::value
 
static const std::array< const char *const, num_flagsflag_names
 
static const std::array< bool, num_flagsflags_is2k3
 

Detailed Description

template<class S>
class lcf::Flags< S >

Flags class template.

Definition at line 694 of file reader_struct.h.

Member Function Documentation

◆ BeginXml()

template<class S>
void lcf::Flags< S >::BeginXml ( S & obj,
XmlReader & stream )
static

Definition at line 126 of file reader_flags.cpp.

References name.

Referenced by lcf::TypeReader< T, Category::Flags >::BeginXml().

+ Here is the caller graph for this function:

◆ idx()

template<class S>
int lcf::Flags< S >::idx ( const char * tag)
inlinestatic

Definition at line 718 of file reader_struct.h.

References flag_names, and tag().

Referenced by lcf::FlagsXmlHandler< S >::StartElement(), and tag().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ LcfSize()

template<class S>
int lcf::Flags< S >::LcfSize ( const S & obj,
LcfWriter & stream )
static

Definition at line 69 of file reader_flags.cpp.

References flags_is2k3, and num_flags.

Referenced by lcf::TypeReader< T, Category::Flags >::LcfSize().

+ Here is the caller graph for this function:

◆ ReadLcf()

template<class S>
void lcf::Flags< S >::ReadLcf ( S & obj,
LcfReader & stream,
uint32_t length )
static

Definition at line 16 of file reader_flags.cpp.

References num_flags.

Referenced by lcf::TypeReader< T, Category::Flags >::ReadLcf().

+ Here is the caller graph for this function:

◆ tag()

template<class S>
const char * lcf::Flags< S >::tag ( int idx)
inlinestatic

Definition at line 713 of file reader_struct.h.

References flag_names, and idx().

Referenced by idx().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteLcf()

template<class S>
void lcf::Flags< S >::WriteLcf ( const S & obj,
LcfWriter & stream )
static

Definition at line 43 of file reader_flags.cpp.

References flags_is2k3, and num_flags.

Referenced by lcf::TypeReader< T, Category::Flags >::WriteLcf().

+ Here is the caller graph for this function:

◆ WriteXml()

template<class S>
void lcf::Flags< S >::WriteXml ( const S & obj,
XmlWriter & stream )
static

Definition at line 84 of file reader_flags.cpp.

References flag_names, flags_is2k3, name, and num_flags.

Referenced by lcf::TypeReader< T, Category::Flags >::WriteXml().

+ Here is the caller graph for this function:

Member Data Documentation

◆ flag_names

template<class S>
const std::array<const char* const, num_flags> lcf::Flags< S >::flag_names
staticprivate

Definition at line 698 of file reader_struct.h.

Referenced by idx(), tag(), and WriteXml().

◆ flags_is2k3

template<class S>
const std::array<bool, num_flags> lcf::Flags< S >::flags_is2k3
staticprivate

Definition at line 699 of file reader_struct.h.

Referenced by LcfSize(), WriteLcf(), and WriteXml().

◆ name

template<class S>
const char* const lcf::Flags< S >::name
staticprivate

Definition at line 696 of file reader_struct.h.

Referenced by BeginXml(), and WriteXml().

◆ num_flags

template<class S>
size_t lcf::Flags< S >::num_flags = std::tuple_size<decltype(S::flags)>::value
staticconstexprprivate

Definition at line 697 of file reader_struct.h.

Referenced by LcfSize(), ReadLcf(), WriteLcf(), and WriteXml().


The documentation for this class was generated from the following files: