| 438 | } |
| 439 | |
| 440 | Value icinga::operator&(const Value& lhs, const Value& rhs) |
| 441 | { |
| 442 | if ((lhs.IsNumber() || lhs.IsEmpty()) && (rhs.IsNumber() || rhs.IsEmpty()) && !(lhs.IsEmpty() && rhs.IsEmpty())) |
| 443 | return static_cast<int>(lhs) & static_cast<int>(rhs); |
| 444 | else |
| 445 | BOOST_THROW_EXCEPTION(std::invalid_argument("Operator & cannot be applied to values of type '" + lhs.GetTypeName() + "' and '" + rhs.GetTypeName() + "'")); |
| 446 | } |
| 447 | |
| 448 | Value icinga::operator&(const Value& lhs, double rhs) |
| 449 | { |
nothing calls this directly
no test coverage detected