.. _program_listing_file__tmp_ws_src_proxsuite_include_proxsuite_linalg_veg_type_traits_tags.hpp: Program Listing for File tags.hpp ================================= |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/proxsuite/include/proxsuite/linalg/veg/type_traits/tags.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef VEG_TAGS_HPP_FYDE7Q6ZS #define VEG_TAGS_HPP_FYDE7Q6ZS #include "proxsuite/linalg/veg/type_traits/core.hpp" #include "proxsuite/linalg/veg/internal/prologue.hpp" namespace proxsuite { namespace linalg { namespace veg { inline namespace tags { VEG_TAG_TEMPLATE(typename T, tag, Tag, T); VEG_TAG(as_ref, AsRef); VEG_TAG(as_mut, AsMut); VEG_TAG(from, From); VEG_TAG(from_i, FromI); VEG_TAG(as_ref_once, AsRefOnce); VEG_TAG(from_alloc, FromAlloc); VEG_TAG(from_alloc_and_value, FromAllocAndValue); VEG_TAG(from_slice, FromSlice); VEG_TAG(from_slice_mut, FromSliceMut); template struct InPlace { InPlace() = default; }; template<> struct InPlace { InPlace() = default; template VEG_INLINE constexpr auto operator[](Tag /*tag*/) const noexcept -> InPlace { return InPlace{}; } }; VEG_INLINE_VAR(inplace, InPlace); } // namespace tags } // namespace veg } // namespace linalg } // namespace proxsuite #include "proxsuite/linalg/veg/internal/epilogue.hpp" #endif /* end of include guard VEG_TAGS_HPP_FYDE7Q6ZS */