/// Foo struct template
template<int a, int b>
struct Foo
{
  /// foo enumeration
  enum foo_enum
  {
    /// foo value
    foo_value = a + b
  }:
};

/// Bar struct template
template<int a, int b>
struct Bar
{
  /// bar enumeration
  enum bar_enum
  {
    /// bar value
    bar_value = Foo<a, b>::foo_value
  };
};
