AFIO  v2.00 late alpha
afio_v2_xxx::storage_profile::item< T > Struct Template Reference

A tag-value item in the storage profile where T is the type of value stored. More...

#include "storage_profile.hpp"

Inheritance diagram for afio_v2_xxx::storage_profile::item< T >:
afio_v2_xxx::storage_profile::item_base

Public Types

using handle_type = item_base::handle_type
 
using callable = outcome< void >(*)(storage_profile &sp, handle_type &h)
 

Public Member Functions

constexpr item (const char *_name, callable c, const char *_desc=nullptr, T _value=default_value< T >())
 
void clear ()
 Clear this item, returning value to default.
 
outcome< void > operator() (storage_profile &sp, handle_type &h) const
 Set this item if its value is default.
 

Public Attributes

callable impl
 
value
 The storage of the item.
 
char _padding [item_size - sizeof(item_base) - sizeof(callable) - sizeof(T)]
 
const char * name
 The name of the item in colon delimited category format.
 
const char * description
 Some description of the item.
 
storage_types type
 The type of the value.
 

Static Public Attributes

static constexpr size_t item_size = item_base::item_size
 

Detailed Description

template<class T>
struct afio_v2_xxx::storage_profile::item< T >

A tag-value item in the storage profile where T is the type of value stored.


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