Ejemplo n.º 1
0
// Listing 1 code/ch05
int SetExample::runBoundedSet ()
{
  ACE_TRACE (ACE_TEXT ("SetExample::runBoundedSet"));
  ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Using a bounded set\n")));
  ACE_Bounded_Set<DataElement> bset (100);

  DataElement elem[100];
  for (int i = 0; i < 100; i++)
    {
      elem[i].setData (i);

      // Inserting two copies of the same element isn't allowed.
      bset.insert (elem[i]);
      if (bset.insert (elem[i]) == -1)
        {
          ACE_DEBUG ((LM_ERROR, ACE_TEXT ("%p\n"),
                      ACE_TEXT ("insert set")));
        }
    }
  ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d\n"),
              DataElement::numOfActiveObjects ()));

  DataElement elem1 (10), elem2 (99);
  if (!bset.find (elem1) && !bset.find (elem2))
    {
      ACE_DEBUG ((LM_INFO,
                  ACE_TEXT ("The elements %d and %d are ")
                  ACE_TEXT ("in the set!\n"),
                  elem1.getData (), elem2.getData ()));
    }

  for (int j = 0; j < 50; j++)
    {
      bset.remove (elem[j]);  // Remove the element from the set.
      ACE_DEBUG
        ((LM_DEBUG, ACE_TEXT ("%d:"), elem[j].getData ()));
    }

  if ((bset.find (elem[0]) == -1) && (bset.find (elem[49]) == -1))
    {
      ACE_DEBUG ((LM_INFO,
                  ACE_TEXT ("The elements %d and %d are ")
                  ACE_TEXT ("NOT in the set!\n"),
                  elem[0].getData (), elem[99].getData ()));
    }

  return 0;
}
Ejemplo n.º 2
0
int main()
{

	cPermElem s1(3, {1,2});
	cPermElem s2(3, {2,3});
	cGroupElem< cPermElem, Multiplication> elem1(s1);
	cGroupElem< cPermElem, Multiplication> elem2(s2);
	std::vector< cGroupElem<cPermElem, Multiplication> >  generators;
	generators.push_back(elem1);
	generators.push_back(elem2);
	S3 g1(generators);
	std::vector< cGroupElem< cPermElem, Multiplication> > elements = g1.GetElementsDimino();
	std_ex::print_vector(elements);


//	cGrpLattice<S3> s3_lattice(g1);
//	s3_lattice.CyclicExtensionMethod();
//	std::cout<<s3_lattice;


//	cGroupElem<cPermElem, Multiplication> elt2({4,1,2,3});
//	cGroupElem<cPermElem, Multiplication> elt5({1,4,3,2});
//	cGroup<cGroupElem<cPermElem, Multiplication>, cSymmetricRep> D8;
//	D8.AddGenerator(elt2);
//	D8.AddGenerator(elt5);
//
//	cGrpLattice<cGroup<cGroupElem<cPermElem,Multiplication>, cSymmetricRep> > D8_lat(D8);
//	D8_lat.CyclicExtensionMethod();
//	std::cout<<D8_lat;

//	cGroupElem<cPermElem, Multiplication> elt2({4,1,2,3});
//	cGroupElem<cPermElem, Multiplication> elt5({1,4,3,2});
//	cGroup<cGroupElem<cPermElem, Multiplication>, cSymmetricRep> D8;
//	D8.AddGenerator(elt2);
//	D8.AddGenerator(elt5);
//
//	cCayleyGrf<cGroup<cGroupElem<cPermElem, Multiplication>, cSymmetricRep> > graph(D8);
//	graph.BuildGraph();
//	std::cout<<graph;

	return 0;
};