Namespace Poco::Util::Units
Author: Applied Informatics Software Engineering GmbH and Contributors

# Poco::Util

# namespace Units

## Overview

Namespaces: Constants, Internal, Units, Values

Classes: OutputUnit, Value

Types: Unit

Functions: cos, cube, operator *, operator /, operator <<, raise, sin, sqrt, square, streamOp, tan

## Namespaces

### namespace Constants

### namespace Internal

### namespace Units

### namespace Values

## Classes

### struct OutputUnit

Functor to write Unit text to stream.

### class Value

A Value with a unit.

## Types

### Unit

typedef Power < Internal::None, 0 > Unit;

Construct a unit equivalent to Unit1*Unit2 Constructs a unit equivalent to U*Num/Den Constructs a Unit equivalent to U+Num/Den Constructs a Unit equivalent to U^(Num/Den) A unit which is effectively no units at all.

## Functions

### cos

template < typename V, typename U > V cos(
const Value < V, U > & angle
);

### cube

template < typename V, typename U > Value < V, Power < U, 3, 1 > > cube(
const Value < V, U > & a
);

### operator *

template < typename V, typename U > Value < V, U > operator * (
const V & a,
const Value < V, U > & b
);

### operator /

template < typename V, typename U > Value < V, Power < U, - 1 > > operator / (
const V & a,
const Value < V, U > & b
);

### operator <<

template < typename Str, typename V, typename U > Str & operator << (
Str & os,
const Value < V, U > & value
);

Additional Units

### operator <<

template < typename Str > Str & operator << (
Str & os,
const Units::Prefix & val
);

Streaming operator for prefixed values.

### raise

template < int Num, int Den, typename V, typename U > Value < V, Power < U, Num, Den > > raise(
const Value < V, U > & a
);

### sin

template < typename V, typename U > V sin(
const Value < V, U > & angle
);

### sqrt

template < typename V, typename U > Value < V, Power < U, 1, 2 > > sqrt(
const Value < V, U > & a
);

### square

template < typename V, typename U > Value < V, Power < U, 2, 1 > > square(
const Value < V, U > & a
);

### streamOp

template < typename Str > Str & streamOp(
Str & os,
const Units::Prefix & val
);

### tan

template < typename V, typename U > V tan(
const Value < V, U > & angle
);