Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
ored
scripting
context.hpp
Go to the documentation of this file.
1
/*
2
Copyright (C) 2019 Quaternion Risk Management Ltd
3
All rights reserved.
4
5
This file is part of ORE, a free-software/open-source library
6
for transparent pricing and risk analysis - http://opensourcerisk.org
7
8
ORE is free software: you can redistribute it and/or modify it
9
under the terms of the Modified BSD License. You should have received a
10
copy of the license along with this program.
11
The license is also available online at <http://opensourcerisk.org>
12
13
This program is distributed on the basis that it will form a useful
14
contribution to risk analytics and model standardisation, but WITHOUT
15
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16
FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.
17
*/
18
19
/*! \file ored/scripting/context.hpp
20
\brief script engine context holding variable names and values
21
\ingroup utilities
22
*/
23
24
#pragma once
25
26
#include <
ored/scripting/ast.hpp
>
27
#include <
ored/scripting/value.hpp
>
28
29
#include <boost/variant.hpp>
30
31
#include <map>
32
#include <ostream>
33
#include <set>
34
#include <vector>
35
36
namespace
ore
{
37
namespace
data
{
38
39
struct
Context
{
40
// not assignable, will throw an error if tried
41
std::set<std::string>
constants
;
42
// not assignable, but won't throw an error if tried (has a special use case for AMC runs)
43
std::set<std::string>
ignoreAssignments
;
44
//
45
std::map<std::string, ValueType>
scalars
;
46
std::map<std::string, std::vector<ValueType>>
arrays
;
47
// variable size
48
Size
varSize
()
const
;
49
// is context empty?
50
bool
empty
()
const
{
return
scalars
.empty() &&
arrays
.empty(); }
51
// reset size to given value
52
void
resetSize
(
const
std::size_t n);
53
};
54
55
std::ostream&
operator<<
(std::ostream& out,
const
Context
& context);
56
57
}
// namespace data
58
}
// namespace ore
ast.hpp
abstract syntax tree for payoff scripting
data
@ data
Definition:
log.hpp:77
QuantExt::operator<<
std::ostream & operator<<(std::ostream &out, EquityReturnType t)
ore
Serializable Credit Default Swap.
Definition:
namespaces.docs:23
ore::data::Context
Definition:
context.hpp:39
ore::data::Context::scalars
std::map< std::string, ValueType > scalars
Definition:
context.hpp:45
ore::data::Context::arrays
std::map< std::string, std::vector< ValueType > > arrays
Definition:
context.hpp:46
ore::data::Context::varSize
Size varSize() const
Definition:
context.cpp:31
ore::data::Context::empty
bool empty() const
Definition:
context.hpp:50
ore::data::Context::resetSize
void resetSize(const std::size_t n)
Definition:
context.cpp:105
ore::data::Context::ignoreAssignments
std::set< std::string > ignoreAssignments
Definition:
context.hpp:43
ore::data::Context::constants
std::set< std::string > constants
Definition:
context.hpp:41
value.hpp
value type and operations
Generated by
Doxygen
1.9.5