Geant4
v4-10.4-release
메인 페이지
관련된 페이지
모듈
네임스페이스
클래스
파일들
파일 목록
파일 멤버
모두
클래스
네임스페이스들
파일들
함수
변수
타입정의
열거형 타입
열거형 멤버
Friends
매크로
그룹들
페이지들
source
global
management
include
G4coutFormatters.hh
이 파일의 문서화 페이지로 가기
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
26
//
27
// $Id: G4coutFormatters.hh 103582 2017-04-18 17:24:45Z adotti $
28
//
29
//
30
// --------------------------------------------------------------------
31
// GEANT 4 header file
32
//
33
// Class Description:
34
//
35
// Utilities to handle transformations of cout/cerr streams
36
37
// ---------------- G4coutFormatters ----------------
38
//
39
// Author: A.Dotti (SLAC), April 2017
40
// --------------------------------------------------------------------
41
#ifndef G4COUTFORMATTERS_HH
42
#define G4COUTFORMATTERS_HH
43
44
#include <algorithm>
45
#include <sstream>
46
#include <vector>
47
#include <ctime>
48
#include <iomanip>
49
#include <functional>
50
#include <unordered_map>
51
52
#include "
G4String.hh
"
53
#include "
G4ios.hh
"
54
#include "
G4strstreambuf.hh
"
55
56
namespace
G4coutFormatters
57
{
58
// Static definitions of provided formatters
59
namespace
ID
60
{
61
static
const
G4String
SYSLOG
=
"syslog"
;
62
static
const
G4String
DEFAULT
=
"default"
;
63
}
64
65
// A function that set ups a style for the destination
66
// Example for a style that set to all capital the messages
67
// to G4cerr:
68
// setupStyle_f myStyle = [](G4coutDestination* dest)->G4int {
69
// dest->SetCerrTransformer(
70
// [](G4String& msg){
71
// msg->toUpper();
72
// return true; }
73
// );
74
// };
75
using
SetupStyle_f
= std::function<G4int(G4coutDestination*)>;
76
77
using
String_V
=std::vector<G4String>;
78
79
// Return list of formatter names
80
String_V
Names
();
81
82
// Setup style (by name) to destination
83
G4int
HandleStyle
(
G4coutDestination
* dest ,
const
G4String
& style );
84
85
// Set name of the style for the master thread
86
void
SetMasterStyle
(
const
G4String
& );
87
G4String
GetMasterStyle
();
88
89
// This function should be called in user application main function
90
// to setup the style just after setting up RunManager
91
void
SetupStyleGlobally
(
const
G4String
& news);
92
93
// To be used by user to register by name a new formatter.
94
// So it can be used via one of the previous functions
95
void
RegisterNewStyle
(
const
G4String
&
name
,
SetupStyle_f
& formatter);
96
}
97
98
#endif // G4COUTFORMATTERS_HH
G4coutFormatters::String_V
std::vector< G4String > String_V
Definition:
G4coutFormatters.hh:77
name
const XML_Char * name
Definition:
expat.h:151
G4coutFormatters::Names
String_V Names()
Definition:
G4coutFormatters.cc:138
G4coutFormatters::RegisterNewStyle
void RegisterNewStyle(const G4String &name, SetupStyle_f &formatter)
Definition:
G4coutFormatters.cc:154
G4ios.hh
G4String
Definition:
examples/extended/parallel/TopC/ParN02/AnnotatedFiles/G4String.hh:45
G4coutFormatters::SetupStyleGlobally
void SetupStyleGlobally(const G4String &news)
Definition:
G4coutFormatters.cc:129
G4coutDestination
Definition:
G4coutDestination.hh:46
G4coutFormatters::SetupStyle_f
std::function< G4int(G4coutDestination *)> SetupStyle_f
Definition:
G4coutFormatters.hh:75
G4coutFormatters::ID::DEFAULT
static const G4String DEFAULT
Definition:
G4coutFormatters.hh:62
G4coutFormatters::ID::SYSLOG
static const G4String SYSLOG
Definition:
G4coutFormatters.hh:61
G4String.hh
G4coutFormatters::GetMasterStyle
G4String GetMasterStyle()
Definition:
G4coutFormatters.cc:124
G4int
int G4int
Definition:
G4Types.hh:78
G4coutFormatters::HandleStyle
G4int HandleStyle(G4coutDestination *dest, const G4String &style)
Definition:
G4coutFormatters.cc:148
G4strstreambuf.hh
G4coutFormatters::SetMasterStyle
void SetMasterStyle(const G4String &)
Definition:
G4coutFormatters.cc:119
다음에 의해 생성됨 :
1.8.5