* Prevent printing in noninteractive mode * Allow PAM modules to be configurated directly in pam.d * Configuration should be redable by everybody * Add a way to read ip address in when no IP is awailable * Enable read ip from pam * Fix veritas BUG
39 lines
775 B
C++
Executable File
39 lines
775 B
C++
Executable File
#pragma once
|
|
|
|
#include <cassert>
|
|
|
|
namespace rublon {
|
|
|
|
template < typename T >
|
|
class NonOwningPtr {
|
|
T * object;
|
|
|
|
public:
|
|
constexpr NonOwningPtr(T * obj) : object{obj} {}
|
|
|
|
constexpr T * get() noexcept {
|
|
assert(object != nullptr);
|
|
return object;
|
|
}
|
|
constexpr const T * get() const noexcept {
|
|
assert(object != nullptr);
|
|
return object;
|
|
}
|
|
constexpr operator const T *() const noexcept {
|
|
return get();
|
|
}
|
|
constexpr operator T *() noexcept {
|
|
return get();
|
|
}
|
|
constexpr T * operator->() {
|
|
return get();
|
|
}
|
|
constexpr const T * operator->() const {
|
|
return get();
|
|
}
|
|
constexpr operator bool() const {
|
|
return object != nullptr;
|
|
}
|
|
};
|
|
} // namespace rublon
|