tables::gtable::gtable

1) Constructor from a table:

template <typename... Ts,is_primitive_type... Ps,typename... Gs>
gtable<table<std::pair<Ts,Ps>...>,std::tuple<Gs...>>::gtable(const table_t& t)

2) Constructor from a gtable::map_t:

template <typename... Ts,is_primitive_type... Ps,typename... Gs>
gtable<table<std::pair<Ts,Ps>...>,std::tuple<Gs...>>::gtable(map_t&& m)

3) Copy constructor:

template <typename... Ts,is_primitive_type... Ps,typename... Gs>
gtable<table<std::pair<Ts,Ps>...>,std::tuple<Gs...>>::gtable(
  const gtable_t& other
)

4) Move constructor:

template <typename... Ts,is_primitive_type... Ps,typename... Gs>
gtable<table<std::pair<Ts,Ps>...>,std::tuple<Gs...>>::gtable(
  gtable_t&& other
)

It is not recommended to construct a gtable directly, but to use table::group_by. See Grouping for examples.