
  * Copyright 2014 , INRIA 
  *   
  * This file is part of Cgen .   Much of it comes from Coccinelle , which is 
  * also available under the GPLv2 license 
  * 
  * Cgen is free software : you can redistribute it and/or modify 
  * it under the terms of the GNU General Public License as published by 
  * the Free Software Foundation , according to version 2 of the License . 
  * 
  * Cgen is distributed in the hope that it will be useful , 
  * but WITHOUT ANY WARRANTY ; without even the implied warranty of 
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE .   See the 
  * GNU General Public License for more details . 
  * 
  * You should have received a copy of the GNU General Public License 
  * along with Cgen .   If not , see < / > . 
  * 
  * The authors reserve the right to distribute this or future versions of 
  * Cgen under other licenses . 
 
 * Copyright 2014, INRIA
 * Julia Lawall
 * This file is part of Cgen.  Much of it comes from Coccinelle, which is
 * also available under the GPLv2 license
 *
 * Cgen is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, according to version 2 of the License.
 *
 * Cgen is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Cgen.  If not, see </>.
 *
 * The authors reserve the right to distribute this or future versions of
 * Cgen under other licenses.
 *)


# 0 "./osequence.ml"
open Oassoc

class virtual ['a] osequence =
object(o: 'o)
  (* inherit ['a] ocollection *)
  inherit [int, 'a] oassoc

  method virtual nth: int -> 'a
  method virtual first: 'a
  method virtual last: 'a
  (* head tail push pop top cons snoc *)
end


 inherit ['a] ocollection 
 head tail push pop top cons snoc 

  * Copyright 2014 , INRIA 
  *   
  * This file is part of Cgen .   Much of it comes from Coccinelle , which is 
  * also available under the GPLv2 license 
  * 
  * Cgen is free software : you can redistribute it and/or modify 
  * it under the terms of the GNU General Public License as published by 
  * the Free Software Foundation , according to version 2 of the License . 
  * 
  * Cgen is distributed in the hope that it will be useful , 
  * but WITHOUT ANY WARRANTY ; without even the implied warranty of 
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE .   See the 
  * GNU General Public License for more details . 
  * 
  * You should have received a copy of the GNU General Public License 
  * along with Cgen .   If not , see < / > . 
  * 
  * The authors reserve the right to distribute this or future versions of 
  * Cgen under other licenses . 
 
 * Copyright 2014, INRIA
 * Julia Lawall
 * This file is part of Cgen.  Much of it comes from Coccinelle, which is
 * also available under the GPLv2 license
 *
 * Cgen is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, according to version 2 of the License.
 *
 * Cgen is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Cgen.  If not, see </>.
 *
 * The authors reserve the right to distribute this or future versions of
 * Cgen under other licenses.
 *)


# 0 "./osequence.ml"
open Oassoc

class virtual ['a] osequence =
object(o: 'o)
  inherit [int, 'a] oassoc

  method virtual nth: int -> 'a
  method virtual first: 'a
  method virtual last: 'a
end

