1// Copyright 2009-2021 Intel Corporation
2// SPDX-License-Identifier: Apache-2.0
3
4#pragma once
5
6#include "platform.h"
7#include "../math/vec2.h"
8#include "../math/vec3.h"
9#include "../math/vec4.h"
10
11namespace embree
12{
13 class IOStreamStateRestorer
14 {
15 public:
16 IOStreamStateRestorer(std::ostream& iostream)
17 : iostream(iostream), flags(iostream.flags()), precision(iostream.precision()) {
18 }
19
20 ~IOStreamStateRestorer() {
21 iostream.flags(flags);
22 iostream.precision(precision);
23 }
24
25 private:
26 std::ostream& iostream;
27 std::ios::fmtflags flags;
28 std::streamsize precision;
29 };
30
31 std::string toLowerCase(const std::string& s);
32 std::string toUpperCase(const std::string& s);
33
34 Vec2f string_to_Vec2f ( std::string str );
35 Vec3f string_to_Vec3f ( std::string str );
36 Vec4f string_to_Vec4f ( std::string str );
37}
38