I have no idea about boost, could anybody please tell me what exactly this function is doing?

```
int
Function(const string& tempStr)
{
    boost::regex expression ("result = ");
    std::string::const_iterator start, end;
    start = tempStr.begin();
    end   = tempStr.end();
    boost::match_results<std::string::const_iterator> what;
    boost::regex_constants::_match_flags flags = boost::match_default;
    int count = 0;
    while(regex_search(start, end, what, expression, flags)){
        start = what[0].second;
        count++;
    }
    cout << "Count :"<< count << endl;
    return count;
}

```