A reasonably conforming version of std::experimental::source_location can be implemented in gcc with __builtin_FILE(), __builtin_LINE(), etc. Do similar intrinsics exist in Visual Studio 2017? Or is there any way to implement std::experimental::source_location in Visual Studio 2017?
std::experimental::source_location implementation in visual studio
2.2k Views Asked by Mike At
1
There are 1 best solutions below
Related Questions in C++
- C++ using std::vector across boundaries
- Linked list without struct
- Connecting Signal QML to C++ (Qt5)
- how to get the reference of struct soap inherited in C++ Proxy/Service class
- Why we can't assign value to pointer
- Conversion of objects in c++
- shared_ptr: "is not a type" error
- C++ template using pointer and non pointer arguments in a QVector
- C++ SFML 2.2 vectors
- Lifetime of temporary objects
- I want to be able to use 4 different variables in a select statement in c ++
- segmentation fault: 11, extracting data in vector
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- How can I print all the values in this linked list inside a hash table?
- Configured TTL for A record(s) backing CNAME records
Related Questions in VISUAL-C++
- I want to be able to use 4 different variables in a select statement in c ++
- llvm headers do not compile under msvc 2013
- VC++ .net: Functionality from managed DLL is not exported
- Add a picture to Picture Control in a dialog box (error RC2108: expected numerical dialog constant)
- Within a .vcxproj file what are the possible values for the <ConfigurationType> and what do those values mean?
- converting string to a double in visual c++ by parsing
- How to integrate opencv C++ codings with windows application?
- Create string with ESC characters
- What does the thing between "class" and the class name in VC++ mean?
- How to assign (Root)Folder ID in C++? Wherein, those files and folder under it would have the same ID as the RootFolder
- How to convert CString to long? VC++
- How to initialize a String^ *
- How to correctly implement methods of a class returning "this" in Managed C++?
- Non-managed referenced code strangely, "magically" changes its state for no reason when wrapped in managed
- Windows application using libusb: runtime error due to mutex lock
Related Questions in VISUAL-STUDIO-2017
- No templates in Visual Studio 2017
- Xamarin.iOS on the Mac Server is not compatible
- NuGet Console in visual studio 2017 RC won't Add-Migration or Update-Database?
- VS2017 RC Web deploy - ERROR_CERTIFICATE_VALIDATION_FAILED
- How to use an ASP.NET Core environment variable in testing with Visual Studio
- How to create F# .Net Core ConsoleApp in Visual Studio 2017 RC
- Can I suppress a specific C6031 warning? CString::LoadString
- InterlockedExchange issue with C28112/3
- AppSettings.*.json files not copied on Publish in ASP.NET CORE 1.1
- Does Visual Studio 2017 Community create a Services folder for Dependency Injection with Core 1.0?
- dotnet exec needs a managed .dll or .exe extension while adding Entity Framework Core (1.1.0) Migrations
- project can't be set as Class Library in visual studio
- How to connect with SQL Server database using .NET Core Class Library (.NET Standard)?
- Using Dependency Injection with .NET Core Class Library (.NET Standard)
- Localisation that can be read by a portable F# project (Profile 259)
Related Questions in VISUAL-C++-2017
- Can Visual C++ 2017 Redistributable package support the applications that use VC2015?
- How to detect if Visual C++ 2017 Redistributable is installed
- Saving and debugging from an image in Visual Studio
- Why a lambda that captured unique_ptr cannot be used in container
- MSVC showing "No disassembly available." for anything compiled out of MSVC
- ofstream::write writes zeros for part of the file
- Why VS C++ 2017 compiler use SSE optimization only if iterated pointers are not stored in structure?
- How to randomize the name entered by the user
- Visual C++ 2017 + Qt5 - can't enable webkit in Qt Project Settings
- Binary compatibility between VS2017 and VS2015
- C++ Template specialization by type of non-type parameter
- 'boost_log_abi': value 'v2s_mt_nt6' doesn't match value 'v2s_mt_nt5'
- Checking for Visual C++ Redistributable 2017 vs 2015 using minor version
- C2663: 'std::_Tree>::insert': 5 overloads have no legal conversion for 'this' pointer
- Setting a Pointer to a block of stack memory?
Related Questions in STD-SOURCE-LOCATION
- source_location::current() evaluated as default non-type template argument
- std::source_location as non type template parameter
- How to get a source location from the function as argument without using static member function `current`?
- Is it possible to make macros that are default arguments expand at call site?
- Replacing __LINE__ and __FUNCSIG__ with the new std::source_location in a macro
- operator[] caller's site source location current workaround
- Combining ranges adaptors and std::source_location got strange results
- How to disable copy elision for constructors with std::source_location?
- constructing std::source_location with custom values
- How to use source_location in a variadic template function?
- Does C++20 mandate source code being stored in files?
- std::experimental::source_location implementation in visual studio
- C++20 std::source_location yield different column numbers between free function and template functions
- Source location at call site and nttps: strange results and possible compiler bug?
- How could std::experimental::source_location be implemented?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Unfortunately, at the moment there is no way to properly implement source_location only by means of compiler, so you'll have to use preprocessor and macros like
__FILE__,__LINE__and__FUNCTION__to feed the location info into the data structure that stores them (what you call source_location).Having said that, I really do share your pain.
I have been recently developing a small library that adds location data and some other information to the exceptions that get thrown, and there I had to end up with an ugly macro like
MY_THROW(Exception(args))which basically just feeds the values obtained from the aforementioned macros into the function which throws an exception. As terribly-looking as it is, it seems to be the only working option so far.