rcpputils
master
C++ API providing common utilities and data structures.
include
rcpputils
get_env.hpp
Go to the documentation of this file.
1
// Copyright (c) 2020, Open Source Robotics Foundation, Inc.
2
// All rights reserved.
3
//
4
// Software License Agreement (BSD License 2.0)
5
//
6
// Redistribution and use in source and binary forms, with or without
7
// modification, are permitted provided that the following conditions
8
// are met:
9
//
10
// * Redistributions of source code must retain the above copyright
11
// notice, this list of conditions and the following disclaimer.
12
// * Redistributions in binary form must reproduce the above
13
// copyright notice, this list of conditions and the following
14
// disclaimer in the documentation and/or other materials provided
15
// with the distribution.
16
// * Neither the name of the copyright holders nor the names of its
17
// contributors may be used to endorse or promote products derived
18
// from this software without specific prior written permission.
19
//
20
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23
// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
24
// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26
// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
30
// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31
// POSSIBILITY OF SUCH DAMAGE.
32
33
#ifndef RCPPUTILS__GET_ENV_HPP_
34
#define RCPPUTILS__GET_ENV_HPP_
35
36
#include "rcutils/get_env.h"
37
38
#include <stdexcept>
39
#include <string>
40
41
#include "
rcpputils/visibility_control.hpp
"
42
43
namespace
rcpputils
44
{
45
47
/*
48
* \param[in] env_var the name of the environment variable
49
* \return The value of the environment variable if it exists, or "".
50
* \throws std::runtime_error on error
51
*/
52
std::string
get_env_var
(
const
char
* env_var)
53
{
54
const
char
* value{};
55
const
char
* err = rcutils_get_env(env_var, &value);
56
if
(err) {
57
throw
std::runtime_error
(err);
58
}
59
return
value ? value :
""
;
60
}
61
62
}
// namespace rcpputils
63
64
#endif // RCPPUTILS__GET_ENV_HPP_
std::string
rcpputils
Definition:
asserts.hpp:37
std::runtime_error
visibility_control.hpp
Macros for controlling visibilty of exported iterfaces.
rcpputils::get_env_var
std::string get_env_var(const char *env_var)
Retrieve the value of the given environment variable if it exists, or "".
Definition:
get_env.hpp:52
Generated by
1.8.17