Class row_initializer

Inheritance Relationships

Base Type

  • public std::vector< item >

Class Documentation

class row_initializer : public std::vector<item>

The class row_initializer is a list of cif::item’s.

This class is used to construct new rows, it allows to group a list of item name and value pairs and pass it in one go to the constructing function.

Public Functions

inline row_initializer(std::initializer_list<item> items)

constructor taking a std::initializer_list of items

template<typename ItemIter, std::enable_if_t<std::is_same_v<typename ItemIter::value_type, item>, int> = 0>
inline row_initializer(ItemIter b, ItemIter e)

constructor taking a range of items

row_initializer(row_handle rh)

constructor taking the values of an existing row

void set_value(std::string_view name, std::string_view value)

set the value for item name name to value

inline void set_value(const item &i)

set the value for item based on i

void set_value_if_empty(std::string_view name, std::string_view value)

set the value for item name name to value, but only if the item did not have a value already

inline void set_value_if_empty(const item &i)

set the value for item i, but only if the item did not have a value already