Como alguém usa uma classe enum como um conjunto de sinalizadores?

Digamos que eu tenha um conjunto de sinalizadores e uma classe como esta:

/// <summary>Options controlling a search for files.</summary>
enum class FindFilesOptions : unsigned char
{
    LocalSearch = 0,
    RecursiveSearch = 1,
    IncludeDotDirectories = 2
};

class FindFiles : boost::noncopyable
{
    /* omitted */
public:
    FindFiles(std::wstring const& pattern, FindFilesOptions options);
    /* omitted */
}

e quero que um chamador possa selecionar mais de uma opção:

FindFiles handle(Append(basicRootPath, L"*"),
    FindFilesOptions::RecursiveSearch | FindFilesOptions::IncludeDotDirectories);

É possível dar suporte a isso de maneira fortemente tipada com o C ++ 11enum class, ou eu tenho que reverter para enumerações sem tipo?

(Eu sei que o chamador poderiastatic_cast para o tipo subjacente estatic_cast de volta, mas eu não quero que o chamador tenha que fazer isso)

questionAnswers(5)

yourAnswerToTheQuestion