Update README

This commit is contained in:
terik23 2018-03-17 10:15:00 +05:00
parent 1e7ae74d4e
commit cc8a598825

View file

@ -1,10 +1,12 @@
# nameof(x) c++
C++ alternative to [nameOf](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/nameof) operator.
Simple Example:
```
#include <iostream>
#include <cstdint>
#include <nameof.hpp>
struct SomeStruct {
int SomeField;
void SomeMethod() { std::cout << "No called!" << std::endl; }
@ -15,13 +17,13 @@ int someVar = 0;
int main() {
SomeStruct someVar{1};
constexpr auto a = nameof_variable(someVar.SomeField);
constexpr auto b = nameof_variable((&someVar)->SomeField);
constexpr auto c = nameof_variable(someVar);
constexpr auto d = nameof_variable(::someVar);
constexpr auto e = nameof_variable(&SomeStruct::SomeMethod);
constexpr auto f = nameof_function(someVar.SomeMethod());
constexpr auto g = nameof_type(SomeStruct);
constexpr auto a = NAMEOF_VAR(someVar.SomeField);
constexpr auto b = NAMEOF_VAR((&someVar)->SomeField);
constexpr auto c = NAMEOF_VAR(someVar);
constexpr auto d = NAMEOF_VAR(::someVar);
constexpr auto e = NAMEOF_VAR(&SomeStruct::SomeMethod);
constexpr auto f = NAMEOF_FUN(someVar.SomeMethod());
constexpr auto g = NAMEOF_TYPE(SomeStruct);
std::cout << a << std::endl; // SomeField
std::cout << b << std::endl; // SomeField