gtopt/lp_element_types.hpp file

Authoritative compile-time registry of all LP element types.

Provides the canonical ordered list of all LP component types as a std::tuple alias (lp_element_types_t), forward declarations for each type, and compile-time index utilities (lp_type_index_v<T>).

This header is intentionally lightweight — it contains only forward declarations and type-level metaprogramming, so it can be included by system_context.hpp without pulling in system_lp.hpp.

Namespaces

namespace gtopt
namespace gtopt::detail

Classes

template<typename T T, typename... Ts>
struct gtopt::detail::lp_type_index_impl<T, std::tuple<Ts...>>