See More

// Copyright (C) 2017-2022 Jonathan Müller and cppast contributors // SPDX-License-Identifier: MIT #ifndef CPPAST_CPP_ALIAS_TEMPLATE_HPP_INCLUDED #define CPPAST_CPP_ALIAS_TEMPLATE_HPP_INCLUDED #include #include namespace cppast { /// A [cppast::cpp_entity]() modelling a C++ alias template. class cpp_alias_template final : public cpp_template { public: static cpp_entity_kind kind() noexcept; /// Builder for [cppast::cpp_alias_template](). class builder : public basic_builder { public: using basic_builder::basic_builder; }; /// \returns A reference to the type alias that is being templated. const cpp_type_alias& type_alias() const noexcept { return static_cast(*begin()); } private: cpp_alias_template(std::unique_ptr alias) : cpp_template(std::unique_ptr(alias.release())) {} cpp_entity_kind do_get_entity_kind() const noexcept override; friend basic_builder; }; } // namespace cppast #endif // CPPAST_CPP_ALIAS_TEMPLATE_HPP_INCLUDED