OnixS ICE iMpact Multicast Price Feed Handler C++ library 8.18.0
API documentation
Loading...
Searching...
No Matches
ThreadAffinity.h
Go to the documentation of this file.
1/*
2 * Copyright (c) Onix Solutions Limited. All rights reserved.
3 *
4 * This software owned by Onix Solutions Limited and is protected by copyright law
5 * and international copyright treaties.
6 *
7 * Access to and use of the software is governed by the terms of the applicable ONIXS Software
8 * Services Agreement (the Agreement) and Customer end user license agreements granting
9 * a non-assignable, non-transferable and non-exclusive license to use the software
10 * for it's own data processing purposes under the terms defined in the Agreement.
11 *
12 * Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
13 * of this source code or associated reference material to any other location for further reproduction
14 * or redistribution, and any amendments to this copyright notice, are expressly prohibited.
15 *
16 * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
17 * the terms of the Agreement is a violation of copyright law.
18 */
19
20#pragma once
21
22#include "Export.h"
23
24#include <set>
25#include <string>
26
27namespace OnixS { namespace ICE { namespace iMpact { namespace MarketData {
28
30typedef int CpuIndex;
31
33class ONIXS_ICEMDH_EXPORT ThreadAffinity
34{
35public:
38
41
44
46 bool empty() const;
47
49 void copyTo(std::set<CpuIndex>&) const;
50
52 bool insert(CpuIndex index);
53
55 bool erase(CpuIndex index);
56
58 void clear();
59
62
64 std::string toString() const;
65
67 void toString(std::string&) const;
68
70 static ThreadAffinity deserialize(const std::string&);
71
72private:
74 std::set<CpuIndex>* indices_;
75};
76
77inline std::string ThreadAffinity::toString() const
78{
79 std::string str;
80 toString(str);
81 return str;
82}
83
85ONIXS_ICEMDH_EXPORT std::ostream& operator<<(std::ostream&, const ThreadAffinity&);
86
87}}}} // namespace OnixS::ICE::iMpact::MarketData
std::string toString() const
Returns textual presentation.
ThreadAffinity & operator=(const ThreadAffinity &)
Re-initializes instance as copy of other set.
ThreadAffinity(const ThreadAffinity &)
Initializes as copy of other set.
bool empty() const
Indicates whether is empty.
static ThreadAffinity deserialize(const std::string &)
Returns thread affinity of given string presentation.
~ThreadAffinity()
Utilizes all the resources.
void copyTo(std::set< CpuIndex > &) const
Copies set into another set.
void toString(std::string &) const
Serializes indices into text.
bool erase(CpuIndex index)
Removes CPU index from the set.
bool insert(CpuIndex index)
Adds CPU index into set.
int CpuIndex
Zero-based index of CPU.
std::ostream & operator<<(std::ostream &, const Error &)
Make it printable to formatted C++ I/O streams.