diff --git a/reference/source_location.md b/reference/source_location.md index 0578cc60..26657d82 100644 --- a/reference/source_location.md +++ b/reference/source_location.md @@ -28,73 +28,102 @@ // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. //----------------------------------------------------------------------------------------> -Compiler: Clang: Ubuntu Clang 16.0.6 (23ubuntu4) -1. scoped enum +# Compiler: Clang: Ubuntu Clang 16.0.6 (23ubuntu4) +## 1. scoped enum +```C++ static const char *conjure_enum::tpeek() [T = Type] static const char *conjure_enum::epeek() [T = Type, e = Type::Value] static const char *conjure_enum::epeek() [T = Type, e = (Type)100] +``` -2. unscoped enum +## 2. unscoped enum +```C++ static const char *conjure_enum::tpeek() [T = Type1] static const char *conjure_enum::epeek() [T = Type1, e = Value] static const char *conjure_enum::epeek() [T = Type1, e = (Type1)100] +``` -3. scoped enum in anonymous namespace +## 3. scoped enum in anonymous namespace +```C++ static const char *conjure_enum<(anonymous namespace)::Anon_Type>::tpeek() [T = (anonymous namespace)::Anon_Type] static const char *conjure_enum<(anonymous namespace)::Anon_Type>::epeek() [T = (anonymous namespace)::Anon_Type, e = (anonymous namespace)::Anon_Type::Value] static const char *conjure_enum<(anonymous namespace)::Anon_Type>::epeek() [T = (anonymous namespace)::Anon_Type, e = ((anonymous namespace)::Anon_Type)100] +``` -4. unscoped enum in anonymous namespace +## 4. unscoped enum in anonymous namespace +```C++ static const char *conjure_enum<(anonymous namespace)::Anon_Type1>::tpeek() [T = (anonymous namespace)::Anon_Type1] static const char *conjure_enum<(anonymous namespace)::Anon_Type1>::epeek() [T = (anonymous namespace)::Anon_Type1, e = (anonymous namespace)::Value] static const char *conjure_enum<(anonymous namespace)::Anon_Type1>::epeek() [T = (anonymous namespace)::Anon_Type1, e = ((anonymous namespace)::Anon_Type1)100] +``` -5. scoped enum in namespace +## 5. scoped enum in namespace +```C++ static const char *conjure_enum::tpeek() [T = Namespace::Type] static const char *conjure_enum::epeek() [T = Namespace::Type, e = Namespace::Type::Value] static const char *conjure_enum::epeek() [T = Namespace::Type, e = (Namespace::Type)100] +``` -6. unscoped enum in namespace +## 6. unscoped enum in namespace +```C++ static const char *conjure_enum::tpeek() [T = Namespace::Type1] static const char *conjure_enum::epeek() [T = Namespace::Type1, e = Namespace::Value] static const char *conjure_enum::epeek() [T = Namespace::Type1, e = (Namespace::Type1)100] +``` -7. other type +## 7. other type +```C++ static const char *conjure_type::tpeek() [T = int] static const char *conjure_type>::tpeek() [T = std::basic_string_view] static const char *conjure_type>>>::tpeek() [T = std::vector>>] -Compiler: GCC: 14.0.1 20240412 (experimental) [master r14-9935-g67e1433a94f] -1. scoped enum +``` + +# Compiler: GCC: 14.0.1 20240412 (experimental) [master r14-9935-g67e1433a94f] +## 1. scoped enum +```C++ static consteval const char* conjure_enum::tpeek() [with T = Type] static consteval const char* conjure_enum::epeek() [with T e = Type::Value; T = Type] static consteval const char* conjure_enum::epeek() [with T e = (Type)100; T = Type] +``` -2. unscoped enum +## 2. unscoped enum +```C++ static consteval const char* conjure_enum::tpeek() [with T = Type1] static consteval const char* conjure_enum::epeek() [with T e = Value; T = Type1] static consteval const char* conjure_enum::epeek() [with T e = (Type1)100; T = Type1] +``` -3. scoped enum in anonymous namespace +## 3. scoped enum in anonymous namespace +```C++ static consteval const char* conjure_enum::tpeek() [with T = {anonymous}::Anon_Type] static consteval const char* conjure_enum::epeek() [with T e = ::Anon_Type::Value; T = {anonymous}::Anon_Type] static consteval const char* conjure_enum::epeek() [with T e = (::Anon_Type)100; T = {anonymous}::Anon_Type] +``` -4. unscoped enum in anonymous namespace +## 4. unscoped enum in anonymous namespace +```C++ static consteval const char* conjure_enum::tpeek() [with T = {anonymous}::Anon_Type1] static consteval const char* conjure_enum::epeek() [with T e = ::Value; T = {anonymous}::Anon_Type1] static consteval const char* conjure_enum::epeek() [with T e = (::Anon_Type1)100; T = {anonymous}::Anon_Type1] +``` -5. scoped enum in namespace +## 5. scoped enum in namespace +```C++ static consteval const char* conjure_enum::tpeek() [with T = Namespace::Type] static consteval const char* conjure_enum::epeek() [with T e = Namespace::Type::Value; T = Namespace::Type] static consteval const char* conjure_enum::epeek() [with T e = (Namespace::Type)100; T = Namespace::Type] +``` -6. unscoped enum in namespace +## 6. unscoped enum in namespace +```C++ static consteval const char* conjure_enum::tpeek() [with T = Namespace::Type1] static consteval const char* conjure_enum::epeek() [with T e = Namespace::Value; T = Namespace::Type1] static consteval const char* conjure_enum::epeek() [with T e = (Namespace::Type1)100; T = Namespace::Type1] +``` -7. other type +## 7. other type +```C++ static consteval const char* conjure_type::tpeek() [with T = int] static consteval const char* conjure_type::tpeek() [with T = std::basic_string_view] static consteval const char* conjure_type::tpeek() [with T = std::vector > > >] +```