예제 #1
0
 std::string UniformBlock::toString() const
 {
     std::ostringstream os;
     for (int i = 0; i < mNumElems; ++i)
     {
         forEachEntry([this, &os, i](const DataEntry& e) mutable
         {
             os << e.Name << ": ";
             for (int j = 0; j < e.Size / sizeof(float); j++)
             {
                 char* d = ((char*) mUniformData) + e.Offset + (i * mElemSize);
                 os << " ";
                 if (e.IsInt)
                 {
                     int* ip = ((int*) d) + j;
                     os << *ip;
                 }
                 else
                 {
                     float* fp = ((float*) d) + j;
                     os << *fp;
                 }
             }
             os << ';' << std::endl;
         });
     }
     return os.str();
 }
예제 #2
0
파일: HashMap.cpp 프로젝트: Jaxo/yaxx
/*-----------------------------------------------------------HashMap::iterate-+
|                                                                             |
+----------------------------------------------------------------------------*/
void HashMap::iterate(
  void (forEachEntry)(MapItem * pItm, void * arg),
  void * arg
) {
  for (int i=0; i < m_capacity; ++i) {
     for (MapItem * pItm = m_table[i]; pItm; pItm = pItm->m_next) {
        forEachEntry(pItm, arg);
     }
  }
}