## 31 December 2009

### Small gotcha when combining Boost.Array, Assign, and Test

When attempting to use Boost.Assign's list_of in expressions like BOOST_CHECK_EQUAL(somearray, list_of(x)(y)(z)), where somearray has a type like boost::array<T,N>, I kept running into funky errors that there was no operator<< defined with the appropriate types. So I'd define one at global scope, but the errors kept arising from the depths of BOOST_CHECK_EQUAL. It turns out that I needed to define such an operator<< in the boost namespace:

namespace boost {

template< typename charT, typename traits, typename T, ::std::size_t N >
::std::basic_ostream& operator<<(
::std::basic_ostream &os, const ::boost::array &array)
{
os << '[' << N << "]{ ";
::std::copy(array.begin(),
array.end(),
::std::ostream_iterator(os, " "));
os << '}';
return os;
}

}


## 24 December 2009

### Lit search

I finally got around to doing some lit search towards both my dissertation proposal and a poster that I need to present in February. CiteULike's been a nice way to organize the information, especially combined with SyncUThink.

The following is a snapshot of the author's that I'll be wading through: