| 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 |
|