![]() |
Lumiera 0.pre.04
»edit your freedom«
|
#include "lib/meta/size-trait.hpp"
A collection of constants to describe the expected size of some known classes, without needing to include the respective headers.
This is an optimisation to improve compilation times and/or reduce size of the generated object files in debug mode. To get those sizes computed in a fairly portable way, but without much overhead, we mimic the memory layout of "the real thing" with some reasonable simplifications:
Definition at line 77 of file size-trait.hpp.
Classes | |
| struct | BasicAltstringbuf |
| struct | BasicStringbuf |
| struct | BoostFormat |
| struct | CompatAllocator |
| struct | Locale |
| struct | Optional |
Public Types | |
| enum | { ALIGNMENT = sizeof(size_t) , STRING = sizeof(std::string) , VECTOR = sizeof(Vector) , BVECTOR = sizeof(BVector) , BOOST_FORMAT = sizeof(BoostFormat) } |
Private Types | |
| enum | IOS_Openmode { _S_app = 1L << 0 , _S_ate = 1L << 1 , _S_bin = 1L << 2 , _S_in = 1L << 3 , _S_out = 1L << 4 , _S_trunc = 1L << 5 , _S_ios_openmode_end = 1L << 16 } |
| typedef std::vector< size_t > | Vector |
| typedef std::vector< bool > | BVector |
| struct lib::meta::SizeTrait::BoostFormat |
| struct lib::meta::SizeTrait::Locale |
| struct lib::meta::SizeTrait::Optional |
| Class Members | ||
|---|---|---|
| bool | m_initialized_ | |
| T | m_storage_ | |
Inheritance diagram for SizeTrait::Optional< T >:
Collaboration diagram for SizeTrait::Optional< T >:Definition at line 81 of file size-trait.hpp.
Definition at line 82 of file size-trait.hpp.
|
private |
| Enumerator | |
|---|---|
| _S_app | |
| _S_ate | |
| _S_bin | |
| _S_in | |
| _S_out | |
| _S_trunc | |
| _S_ios_openmode_end | |
Definition at line 100 of file size-trait.hpp.
| Enumerator | |
|---|---|
| ALIGNMENT | |
| STRING | |
| VECTOR | |
| BVECTOR | |
| BOOST_FORMAT | |
Definition at line 152 of file size-trait.hpp.
Collaboration diagram for SizeTrait: