μHAL (v2.8.17)
Part of the IPbus software repository
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
log_inserters.location.hpp
Go to the documentation of this file.
1/*
2---------------------------------------------------------------------------
3
4 This file is part of uHAL.
5
6 uHAL is a hardware access library and programming framework
7 originally developed for upgrades of the Level-1 trigger of the CMS
8 experiment at CERN.
9
10 uHAL is free software: you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation, either version 3 of the License, or
13 (at your option) any later version.
14
15 uHAL is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with uHAL. If not, see <http://www.gnu.org/licenses/>.
22
23
24 Andrew Rose, Imperial College, London
25 email: awr01 <AT> imperial.ac.uk
26
27 Marc Magrans de Abril, CERN
28 email: marc.magrans.de.abril <AT> cern.ch
29
30---------------------------------------------------------------------------
31*/
32
33
34#ifndef _uhal_log_inserters_location_hpp_
35#define _uhal_log_inserters_location_hpp_
36
37
38#define ThisLocation() uhal::Location( __PRETTY_FUNCTION__ , __FILE__ , __LINE__ )
39
40
41#include <iostream>
42#include <stdint.h>
43
44
45namespace uhal
46{
49 {
50
51 public:
58 Location ( const char* aFunction , const char* aFile , const uint32_t& aLine );
59
61 const char* mFunction;
63 const char* mFile;
65 const uint32_t mLine;
66 };
67
68 std::ostream& operator<< ( std::ostream& aStr , const Location& aLocation );
69
70}
71
72#endif
A class to wrap the function name, filename and line-number location of its construction for the purp...
const char * mFile
the name of the current file as returned by the FILE macro
const char * mFunction
the name of the current function as returned by the PRETTY_FUNCTION macro
const uint32_t mLine
the number of the current line as returned by the LINE macro
std::ostream & operator<<(std::ostream &aStr, const uhal::HttpResponseType &aHttpResponse)