S3FC project page | S3FC home page |
#include <s3fc/s3_macros.h>
#include <cstring>
#include <vector>
#include <string>
#include <complex>
#include <s3fc/s3_streamable.tcc>
Include dependency graph for s3_streamable.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Compounds | |
class | s3_pack_buffer |
An s3_pack_buffer one or more packed objects. More... | |
class | s3_streamable |
struct | s3_streamable_dispatcher |
struct | s3_streamable_helper_other< std::string > |
s3_streamable_helper_other specialisation for string . More... | |
struct | s3_streamable_helper_pod |
Note: Never call any function in this class directly - these should only be called from s3_streamable_dispatcher<T , s3_typegroup_pod>. More... | |
struct | s3_streamable_helper_stl |
This is the helper class that is invoked to pack types in the s3_typegroup_stl_seq . More... | |
struct | s3_streamable_helper_streamable |
Note: Never call any function in this class directly - these should only be called from s3_streamable_dispatcher<T , s3_typegroup_streamable>. More... | |
class | s3_typegroup_other |
Tag class denoting a class that does not fall into any of th other categories. More... | |
class | s3_typegroup_pod |
Tag class denoting a POD (Plain Old Data) struct. More... | |
class | s3_typegroup_stl |
Tag class denoting a class that is an STL Sequence or an STL Unique Sorted Associative Container. More... | |
class | s3_typegroup_streamable |
Tag class denoting a class derived from s3_streamable. More... | |
struct | s3_typegroup_traits |
Alternative traits class that maps a type to a typegroup: this is used with that does not support partial template specialisations. More... | |
Defines | |
#define | S3_TYPEGROUP_TRAITS_POD(T) |
Macro placing type T in typegroup POD (s3_typegroup_pod) . More... | |
#define | S3_TYPEGROUP_TRAITS_STREAMABLE(T) |
Macro placing type T in typegroup streamable (s3_typegroup_pod) . More... | |
#define | S3_TYPEGROUP_TRAITS_STREAMABLE_1(T) |
Macro placing type T in typegroup streamable (s3_typegroup_pod) . More... | |
#define | S3_TYPEGROUP_TRAITS_OTHER(T) |
Macro placing type T in typegroup OTHER (s3_typegroup_other) . More... | |
#define | S3_TYPEGROUP_TRAITS_STL_1(T) |
Macro placing type T in typegroup STL (s3_typegroup_stl) . More... | |
#define | S3_DECLARE_MAGIC_STRING virtual const char* get_magic_string() const |
Use this to declare a function returning a magic string in a derived class of s3_streamable . More... | |
#define | S3_DEFINE_MAGIC_STRING(C) |
Use this to define a function returning a magic string in a derived class of s3_streamable . More... | |
#define | S3_DEFINE_MAGIC_STRING_T(C, T) |
Functions | |
S3_TYPEGROUP_TRAITS_OTHER (std::string) | |
S3_TYPEGROUP_TRAITS_POD (bool) | |
S3_TYPEGROUP_TRAITS_POD (char) | |
S3_TYPEGROUP_TRAITS_POD (unsigned char) | |
S3_TYPEGROUP_TRAITS_POD (short) | |
S3_TYPEGROUP_TRAITS_POD (int) | |
S3_TYPEGROUP_TRAITS_POD (long int) | |
S3_TYPEGROUP_TRAITS_POD (float) | |
S3_TYPEGROUP_TRAITS_POD (double) | |
S3_TYPEGROUP_TRAITS_POD (std::complex< float >) | |
S3_TYPEGROUP_TRAITS_POD (std::complex< double >) | |
S3_TYPEGROUP_TRAITS_STL_1 (std::vector) |
Definition in file s3_streamable.h.
|
Use this to declare a function returning a magic string in a derived class of
Definition at line 765 of file s3_streamable.h. |
|
Value: const char* C::get_magic_string() const \ { return #C; } s3_streamable .
Definition at line 771 of file s3_streamable.h. |
|
Value: template <typename T> \ const char* C<T>::get_magic_string() const \ { return #C; } Definition at line 775 of file s3_streamable.h. |
|
Value: template<> \ struct s3_typegroup_traits<T > { \ static inline s3_typegroup_other typegroup() { \ return s3_typegroup_other(); \ } \ }; T in typegroup OTHER (s3_typegroup_other) .
Definition at line 594 of file s3_streamable.h. |
|
Value: template<> \ struct s3_typegroup_traits<T > { \ static inline s3_typegroup_pod typegroup() { \ return s3_typegroup_pod(); \ } \ }; T in typegroup POD (s3_typegroup_pod) .
Definition at line 563 of file s3_streamable.h. |
|
Value: template<typename T1> \ struct s3_typegroup_traits<T<T1> > { \ static inline s3_typegroup_stl typegroup() { \ return s3_typegroup_stl(); \ } \ }; T in typegroup STL (s3_typegroup_stl) .
T has a declaration of the form template<typename T1> struct T; Definition at line 606 of file s3_streamable.h. |
|
Value: template<> \ struct s3_typegroup_traits<T > { \ static inline s3_typegroup_streamable typegroup() { \ return s3_typegroup_streamable(); \ } \ }; T in typegroup streamable (s3_typegroup_pod) .
Definition at line 572 of file s3_streamable.h. |
|
Value: template<typename T1> \ struct s3_typegroup_traits<T<T1> > { \ static inline s3_typegroup_streamable typegroup() { \ return s3_typegroup_streamable(); \ } \ }; T in typegroup streamable (s3_typegroup_pod) .
T has a declaration of the form template<typename T1> struct T; Definition at line 583 of file s3_streamable.h. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Send comments to: s3fc@stonethree.com |
|