HandlerList ConvolutionUInt8_GetSSEHandlers()
{
  HandlerList lstHandlers;

  lstHandlers.push_back( ConvolutionUInt8Handler::Create< ConvolutionUInt8Handler_SSE2   >() );
  lstHandlers.push_back( ConvolutionUInt8Handler::Create< ConvolutionUInt8Handler_SSE3   >() );
  lstHandlers.push_back( ConvolutionUInt8Handler::Create< ConvolutionUInt8Handler_SSSE3  >() );
  lstHandlers.push_back( ConvolutionUInt8Handler::Create< ConvolutionUInt8Handler_SSE4_1 >() );
  lstHandlers.push_back( ConvolutionUInt8Handler::Create< ConvolutionUInt8Handler_SSE4_2 >() );

  return std::move( lstHandlers );
}
HandlerList TopologicalErosionFloat_GetSSEHandlers()
{
  HandlerList lstHandlers;

  lstHandlers.push_back( TopologicalErosionFloatHandler::Create< TopologicalErosionFloatHandler_SSE2   >() );
  lstHandlers.push_back( TopologicalErosionFloatHandler::Create< TopologicalErosionFloatHandler_SSE3   >() );
  lstHandlers.push_back( TopologicalErosionFloatHandler::Create< TopologicalErosionFloatHandler_SSSE3  >() );
  lstHandlers.push_back( TopologicalErosionFloatHandler::Create< TopologicalErosionFloatHandler_SSE4_1 >() );
  lstHandlers.push_back( TopologicalErosionFloatHandler::Create< TopologicalErosionFloatHandler_SSE4_2 >() );

  return std::move( lstHandlers );
}
HandlerList BubbleSortMedianOptimizedFloat_GetSSEHandlers()
{
  HandlerList lstHandlers;

  lstHandlers.push_back( BubbleSortMedianOptimizedFloatHandler::Create< BubbleSortMedianOptimizedFloatHandler_SSE2   >() );
  lstHandlers.push_back( BubbleSortMedianOptimizedFloatHandler::Create< BubbleSortMedianOptimizedFloatHandler_SSE3   >() );
  lstHandlers.push_back( BubbleSortMedianOptimizedFloatHandler::Create< BubbleSortMedianOptimizedFloatHandler_SSSE3  >() );
  lstHandlers.push_back( BubbleSortMedianOptimizedFloatHandler::Create< BubbleSortMedianOptimizedFloatHandler_SSE4_1 >() );
  lstHandlers.push_back( BubbleSortMedianOptimizedFloatHandler::Create< BubbleSortMedianOptimizedFloatHandler_SSE4_2 >() );

  return std::move( lstHandlers );
}
HandlerList ImageAddFloat_GetSSEHandlers()
{
  HandlerList lstHandlers;

  lstHandlers.push_back( ImageAddFloatHandler::Create< ImageAddFloatHandler_SSERef >() );
  lstHandlers.push_back( ImageAddFloatHandler::Create< ImageAddFloatHandler_SSE    >() );
  lstHandlers.push_back( ImageAddFloatHandler::Create< ImageAddFloatHandler_SSE2   >() );
  lstHandlers.push_back( ImageAddFloatHandler::Create< ImageAddFloatHandler_SSE3   >() );
  lstHandlers.push_back( ImageAddFloatHandler::Create< ImageAddFloatHandler_SSSE3  >() );
  lstHandlers.push_back( ImageAddFloatHandler::Create< ImageAddFloatHandler_SSE4_1 >() );
  lstHandlers.push_back( ImageAddFloatHandler::Create< ImageAddFloatHandler_SSE4_2 >() );

  return std::move( lstHandlers );
}
HandlerList MinMaxDetectorFloat_GetAVXHandlers()
{
  HandlerList lstHandlers;

  lstHandlers.push_back( MinMaxDetectorFloatHandler::Create< MinMaxDetectorFloatHandler_AVX >() );

  return std::move( lstHandlers );
}
HandlerList NormalizedGradientUInt8_GetAVXHandlers()
{
  HandlerList lstHandlers;

  lstHandlers.push_back( NormalizedGradientUInt8Handler::Create< NormalizedGradientUInt8Handler_AVX    >() );

  return std::move( lstHandlers );
}
HandlerList TopologicalErosionFloat_GetAVXHandlers()
{
  HandlerList lstHandlers;

  lstHandlers.push_back( TopologicalErosionFloatHandler::Create< TopologicalErosionFloatHandler_AVX >() );

  return std::move( lstHandlers );
}
HandlerList ConvolutionFloat_GetAVXHandlers()
{
  HandlerList lstHandlers;

  lstHandlers.push_back( ConvolutionFloatHandler::Create< ConvolutionFloatHandler_AVX >() );

  return std::move( lstHandlers );
}
HandlerList ImageAddFloat_GetAVXHandlers()
{
  HandlerList lstHandlers;

  lstHandlers.push_back( ImageAddFloatHandler::Create< ImageAddFloatHandler_AVXRef >() );
  lstHandlers.push_back( ImageAddFloatHandler::Create< ImageAddFloatHandler_AVX    >() );

  return std::move( lstHandlers );
}
Exemple #10
0
void
SignalHandler::handle_signal(
  int			signal)
{
  typedef std::vector<const HandlerMap::value_type *> HandlerList;

  time_t now = ::time(NULL);

  std::cerr << "Sierra received signal " << signal << " at " << ::ctime(&now) << std::endl;

  HandlerList   handlers;

  std::pair<HandlerMap::const_iterator, HandlerMap::const_iterator> range = m_handlerMap.equal_range(signal);

  for (HandlerMap::const_iterator pos = range.first; pos != range.second; ++pos)
    handlers.push_back(&*pos);

  for (HandlerList::const_iterator it = handlers.begin(); it != handlers.end(); ++it) {
    CallbackBase &obj = *(*it)->second;
    obj();
  }
}